package util

import "k8s.io/apimachinery/pkg/util/sets"

// ManagedServiceNamespaces is the set of namespaces used by managed service platforms
// like ROSA, ARO, etc. These are typically exempt from the requirements we impose on
// core platform namespaces. Consulted https://github.com/openshift/managed-cluster-config/blob/master/deploy/osd-managed-resources/managed-namespaces.ConfigMap.yaml,
// to pull out openshift-* namespaces that aren't owned by OCP.
var ManagedServiceNamespaces = sets.New[string](
	"openshift-addon-operator",
	"openshift-aqua",
	"openshift-aws-vpce-operator",
	"openshift-backplane",
	"openshift-backplane-cee",
	"openshift-backplane-csa",
	"openshift-backplane-cse",
	"openshift-backplane-csm",
	"openshift-backplane-managed-scripts",
	"openshift-backplane-mcs-tier-two",
	"openshift-backplane-mobb",
	"openshift-backplane-sdcicd",
	"openshift-backplane-srep",
	"openshift-backplane-tam",
	"openshift-cloud-ingress-operator",
	"openshift-codeready-workspaces",
	"openshift-compliance",
	"openshift-compliance-monkey",
	"openshift-container-security",
	"openshift-custom-domains-operator",
	"openshift-customer-monitoring",
	"openshift-deployment-validation-operator",
	"openshift-file-integrity",
	"openshift-logging",
	"openshift-managed-node-metadata-operator",
	"openshift-managed-upgrade-operator",
	"openshift-marketplace",
	"openshift-must-gather-operator",
	"openshift-nmstate",
	"openshift-observability-operator",
	"openshift-ocm-agent-operator",
	"openshift-operators-redhat",
	"openshift-osd-metrics",
	"openshift-package-operator",
	"openshift-rbac-permissions",
	"openshift-route-monitor-operator",
	"openshift-scanning",
	"openshift-security",
	"openshift-splunk-forwarder-operator",
	"openshift-sre-pruning",
	"openshift-suricata",
	"openshift-validation-webhook",
	"openshift-velero",
)
